1. Field of the Invention
This invention relates to enabling linked documents to be downloaded from a server to a client over a network; and more specifically, to a system, method, and program for enabling dynamic Web pages to be downloaded and run off-line.
This invention relates to running applications off-line at a client; and more specifically, to running dynamic Web pages, downloaded from a server, off-line at a client.
2. Description of the Related Art
As computational devices continue to proliferate throughout the world, there also continues to be an increase in the use of networks connecting these devices. Computational devices include large mainframe computers, workstations, personal computers, laptops and other portable devices including wireless telephones, personal digital assistants, automobile-based computers, etc. Such portable computational devices are also referred to as “pervasive” devices. The term “computer” or “computational device”, as used herein, may refer to any of such device which contains a processor and some type of memory.
The computational networks may be connected in any type of network including the Internet, an intranet, a local area network (LAN) or a wide area network (WAN). The networks connecting computational devices may be “wired” networks, formed using lines such as copper wire or fiber optic cable, wireless networks employing earth and/or satellite-based wireless transmission links, or combinations of wired and wireless network portions. Many such networks may be organized using a client/server architecture, in which “server” computational devices manage resources, such as files, peripheral devices, or processing power, which may be requested by “client” computational devices. “Proxy servers” can act on behalf of other machines, such as either clients or servers.
A widely used network is the Internet. The Internet, initially referred to as a collection of “interconnected networks”, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network. When capitalized, the term “Internet” refers to the collection of networks and gateways that use the TCP/IP suite or protocols.
Currently, the most commonly employed method of transferring data over the Internet is to employ the World Wide Web environment, referred to herein as “the Web”. Other Internet resources exist for transferring information, such as File Transfer Protocol (FTP) and Gopher, but have not achieved the popularity of the Web. In the Web environment, servers and clients effect data transfer using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.).
The term e-commerce is used herein to refer to any commercial activity using computers interconnected by a communication network, e.g., the Internet. Because of the unique characteristics of the Internet, carrying out commercial transactions over the Internet presents new issues and new opportunities.
As a result of the ubiquitous use of client and server communications over a network, many transactions are now conducted solely “on-line”. A problem exists for a user at a client machine that may want to run an application off-line, i.e., disconnected from the network. For example, the user may want to fill out a travel expense account form without having to be connected to the on-line travel expense account application. It would be desirable for a user to be able to submit, at a later time, the user's off-line generated input to the on-line application when the user is later reconnected to the network.
Off-line generated forms can easily be generated off-line and later submitted on-line if the form is static, that is, if the form data does not change. However, if the required input is dynamic, that is dependent on a previous user input, or is dependent upon other dynamic data, such as current data from a remote database, the ability for a user to generate all of the user input completely off-line is currently not being provided for.
It is known to provide a user with off-line processing functions by utilizing a separate client application. However, if similar on-line processing functions were provided from a server application, the provider is burdened with creating and maintaining two separate applications, one to run in a client server environment as a Web page, and another to run off-line in a client. This need is magnified considering the increasingly large number of mobile clients needing such separate off-line applications. A mobile client may include personal digital assistants (PDAs), Palm Pilots, laptops, etc.
One type of on-line transaction involves the buying of books over the network from an electronic commerce merchant. An on-line transaction to purchase a book would require the user to access, over the network, a product database of currently available books and current prices. The server application that enables this on-line transaction also requires database access to access the user's profile. For example, based upon the user profile, the user may be presented with certain discounts or promotional offers not available to everyone else. Because of the dynamic nature of the server application, and the database accesses required, this type of application has not been able to be downloaded and run off-line. If a separate client application were to be created, it would be limited in the amount of selectable data available, such as the number of available books. In addition, the data, such as the pricing data, would be outdated in a very short time after the creation of the separate client application.